প্রথম Spring ORM প্রজেক্ট তৈরি (Hello ORM Example)

Java Technologies - স্প্রিং ওআরএম (Spring ORM) Spring ORM এর সেটআপ এবং কনফিগারেশন |
53
53

স্প্রিং ওআরএম (Spring ORM) হলো স্প্রিং ফ্রেমওয়ার্কের একটি মডিউল, যা Java-তে ডাটাবেজ অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। এটি ORM (Object Relational Mapping) টেকনোলজি, যেমন Hibernate, JPA (Java Persistence API) ইত্যাদির সঙ্গে ইন্টিগ্রেশন প্রদান করে। Spring ORM ব্যবহার করে ডাটাবেজ অ্যাকসেস করা অনেক সহজ এবং কার্যকরী হয়, কারণ এটি Boilerplate কোড কমিয়ে আনে।


প্রথম Spring ORM প্রজেক্ট তৈরি: Hello ORM Example

এই সেকশনে, একটি সরল Spring ORM প্রজেক্ট তৈরি করা হবে যেখানে Hibernate ব্যবহার করা হবে।

প্রয়োজনীয় টুলস এবং টেকনোলজি

  • Java Development Kit (JDK): ৮ বা তার বেশি
  • Apache Maven: ডিপেনডেন্সি ম্যানেজমেন্টের জন্য
  • Spring Framework: ৫.৩ বা নতুন
  • Hibernate ORM: ৫.৬ বা নতুন
  • MySQL Database (অথবা আপনার পছন্দমতো ডাটাবেস)

ধাপ ১: Maven প্রজেক্ট তৈরি

প্রথমে একটি Maven প্রজেক্ট তৈরি করুন এবং pom.xml ফাইলে প্রয়োজনীয় ডিপেনডেন্সি যুক্ত করুন।

<dependencies>
    <!-- Spring ORM -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>5.3.29</version>
    </dependency>
    
    <!-- Hibernate -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.6.15.Final</version>
    </dependency>
    
    <!-- MySQL Driver -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.34</version>
    </dependency>
    
    <!-- Spring Context -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.3.29</version>
    </dependency>
</dependencies>

ধাপ ২: Hibernate Configuration ফাইল তৈরি

Hibernate এর জন্য hibernate.cfg.xml ফাইল তৈরি করুন এবং ডাটাবেসের তথ্য উল্লেখ করুন।

<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
    <session-factory>
        <!-- Database connection settings -->
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/your_database</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">your_password</property>
        <property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>

        <!-- Hibernate properties -->
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL8Dialect</property>
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.format_sql">true</property>
        <property name="hibernate.hbm2ddl.auto">update</property>
    </session-factory>
</hibernate-configuration>

ধাপ ৩: Entity ক্লাস তৈরি

Hibernate এর জন্য একটি Entity ক্লাস তৈরি করুন। উদাহরণস্বরূপ, Employee ক্লাস নিচে দেওয়া হলো।

import jakarta.persistence.Entity;
import jakarta.persistence.Id;

@Entity
public class Employee {
    @Id
    private int id;
    private String name;
    private String department;

    // Getters and Setters
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDepartment() {
        return department;
    }

    public void setDepartment(String department) {
        this.department = department;
    }
}

ধাপ ৪: Spring Configuration ফাইল তৈরি

Spring-এর জন্য applicationContext.xml ফাইল তৈরি করুন এবং Hibernate ও Spring ORM-এর জন্য Bean ডিক্লার করুন।

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!-- Hibernate SessionFactory -->
    <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
        <property name="configLocation" value="classpath:hibernate.cfg.xml" />
        <property name="annotatedClasses">
            <list>
                <value>com.example.Employee</value>
            </list>
        </property>
    </bean>

    <!-- Transaction Manager -->
    <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
</beans>

ধাপ ৫: DAO এবং Service ক্লাস তৈরি

EmployeeDAO ক্লাসটি Hibernate Session ব্যবহার করে ডাটাবেস অপারেশন সম্পন্ন করবে।

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import javax.transaction.Transactional;

@Repository
public class EmployeeDAO {
    @Autowired
    private SessionFactory sessionFactory;

    @Transactional
    public void saveEmployee(Employee employee) {
        Session session = sessionFactory.getCurrentSession();
        session.save(employee);
    }
}

ধাপ ৬: Main Class থেকে রান করুন

অবশেষে, Spring Context লোড করে প্রজেক্ট রান করুন।

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class App {
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        EmployeeDAO employeeDAO = context.getBean(EmployeeDAO.class);

        Employee employee = new Employee();
        employee.setId(1);
        employee.setName("John Doe");
        employee.setDepartment("IT");

        employeeDAO.saveEmployee(employee);
        System.out.println("Employee saved successfully!");
    }
}

এই প্রজেক্টটি রান করলে MySQL ডাটাবেসে Employee টেবিল তৈরি হবে এবং ডাটাবেসে নতুন একটি রেকর্ড যুক্ত হবে।

Content added By
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion